Software program and method for offering promotions on a phone

ABSTRACT

The present invention includes a method and software application for providing a promotion to a user on a phone. The software application resides on a user&#39;s phone and “listens” for phone numbers dialed by a user. In response to the user dialing a phone number, the software determines whether a promotion or an offer for a promotion should be provided to the user. In response to determining to play or offer to play a promotion to the user, the software application on the phone effectively “intercepts” the call and plays to the user either a promotion or an offer to hear about a promotion prior to placing an outbound voice call. The software application may retrieve the promotion from local memory or may connect with a remote server to download an applicable promotion.

RELATED APPLICATIONS

This application is a continuation of prior, co-pending U.S. patentapplication Ser. No. 13/619,453, entitled “Software Program and Methodfor Offering Promotions on a Phone, and filed on Sep. 14, 2012; which isa continuation of U.S. patent application Ser. No. 11/636,172, now U.S.Pat. No. 8,280,360, the contents of which are incorporated by referenceas if fully disclosed herein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates generally to telecommunications and, morespecifically, to a providing promotions to users on a phone.

2. Description of the Background Art

Providing users with promotions when they search the Internet is well inknown in the art. Many search engines will display ads to users based onthe search terms they enter. The key to effective advertising is totarget promotions to the right users. Phone numbers dialed by phoneusers can be an effective way to target promotions. This is largely anuntapped area for targeting promotions to users, although it is known inthe art to play an ad to a customer once they call into an InteractiveVoice Response System (IVR). For instance, if a user calls the 1-800number of an airline, they may first hear a promotion related to theairline before being routed to the applicable agent or point in the IVRsystem. Several companies, such as Bevocal, Inc. and Tellme, Inc.,provide applications for IVR systems that can play a promotion to a userat the start of a call.

One deficiency with the foregoing method is that a promotion is notplayed to a user until a voice call is actually placed to an IVRdestination. Consequently, the promotions that are played are usuallypromotions associated or approved by the party that owns the phonenumber associated with the IVR system (e.g., the airline that owns the1-800 number dialed by the user). In such case, it is not possible for acompetitor to pay for a promotion to be played when a user dials a phonenumber for a competing business. Therefore, there is a desire for adecentralized, more flexible way to play promotions to users via thephone.

SUMMARY

The present invention provides a method and software application foroffering a promotion to a user that had dialed a phone number on aphone. The software application resides on a user's phone and “listens”for phone numbers dialed by a user. In response to the user dialing aphone number, the software application determines whether or not to playor offer to play a promotion to a user. This determination may be basedon one or more factors, such as the phone number dialed by the user,user profile information, and user location. In response to determiningto play or offer to play a promotion to the user, the softwareapplication on the phone effectively “intercepts” the call and plays tothe user either a promotion or an offer to hear about a promotion priorto placing an outbound voice call. The software application may retrievethe promotion from local memory or may connect with a remote server todownload an applicable promotion.

In one embodiment, if the user is eligible for a promotion, the phoneautomatically plays the promotion to the user and then places a call tothe phone number dialed by the user. In an alternate embodiment, insteadof automatically playing the promotion, the user is offered a chance tohear the promotion. If the user does not respond to the offer within aselect period of time, the phone places a call to the dialed phonenumber without playing the promotion. If the user opts-in to the offer,the promotion is provided to the user. In another alternate embodiment,when a user is eligible for a promotion, the user must make a selectionto either listen to the promotion or continue with the call withouthearing about the promotion.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart that illustrates a method for providing apromotion to a user on a phone according to one embodiment of theinvention.

FIG. 2 is a flowchart that illustrates a method for providing apromotion to a user on a phone according to an alternate embodiment ofthe invention.

FIG. 3 is a flowchart that illustrates a method for providing apromotion to a user on a phone according to a further alternateembodiment of the invention.

FIGS. 4 a and 4 b are drawings of a wireless phone with a user interfacethat illustrate example text associated with providing a promotion to auser.

FIG. 5 is a mind map that illustrates example options associated withproviding promotions to users.

FIG. 6 is block diagram representation of software on a phone that canbe used to implement one embodiment of the present invention.

FIG. 7 is a flowchart that illustrates operations of the interceptor andpromotion modules.

FIG. 8 is a flowchart that illustrates the start-up of the inceptormodule.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 illustrates a method for providing a promotion to a user on aphone according to one embodiment of the present invention. In thisembodiment, the method is performed on a phone and enabled by softwarerunning on such phone. Types of phones on which this method can beperformed include, but are not limited to, phones that receive andtransmit voice and/or data via wireless networks, traditionaltelecommunication networks (i.e., Plain Old Telephone Service (POTS)),and/or the Internet.

The phone (or more specifically, software on the phone) “listens” forphone numbers dialed by a user on the phone (step 110). When a userdials a phone number, software on the phone determines whether or not apromotion should be played to the user (step 120). In one embodiment,this determination is based at least in part on the phone number dialedby the user. Specifically, in such embodiment, a determination is madeas to whether or not the phone number is associated with a promotion.Alternate or additional factors in determining whether to play apromotion can include user profile information and user location.Information necessary to make the determination in step 120 may bestored locally on the phone, or the phone may connect with a remoteserver to download such information (e.g., an application on a remoteserver may determine whether a promotion should be played to the userand then inform software on the phone of this decision). If a decisionis made not to play a promotion to the user, the phone places a call tothe dialed phone number (i.e., dials the phone number) (step 125).Otherwise, the phone provides the user with the promotion prior toplacing a call to the dialed phone number (step 130). The promotion maybe stored locally on the phone or the phone may download the promotionfrom a server. After playing the promotion, the phone then initiates acall to the dialed phone number (125).

In this embodiment, the promotion may be provided in audio and/or visualform. It can be provided in audio form as a voice prompt, and in visualform as text, graphics, video, and/or flash files in the user interfaceof the phone.

The promotion can be any type of promotion. Examples of the type ofpromotions include information about a business associated with orcompeting with the number being dialed. The promotion may includeinformation about a product offering or sale.

As an example of the method described with respect to FIG. 1, assumethere is a promotion associated with a restaurant called “Lake ComoPizza” that is to be played when the user dials the phone number forLake Como Pizza. When the user dials the phone number for Lake ComoPizza, the user hears something like the following before the call isplaced:

“When you order 2 large pizzas at Lake Como, you get a free soft drinkand order of breadsticks”

FIG. 2 illustrates an alternate embodiment of the invention. Steps 210,220 and 225 are essentially the same as steps 110, 120, and 125described above with respect to FIG. 1. However, in this embodiment, ifthe user is eligible for a promotion, the phone provides the user withan option to hear (and/or see) a promotion prior to placing a voice call(step 230). In this embodiment, if the user elects to continue with thecall or does not respond to the offer within a select period of time(for example, 2 seconds), the phone places a call to the number dialedby the user (step 240). If the user opts-in to the offer to hear about(and/or see) the promotion, the phone provides the promotion to the user(step 250). The promotion may include the opportunity to place a call toan alternate number instead of the number dialed by a user. In suchcase, after the user hears (and/or sees) the promotion, a call could beplaced either to an alternate number (step 270) or to the originalnumber dialed by the user (step 260).

As an example of the method described with respect to FIG. 2, assumethere is a promotion associated with a restaurant called “Lake ComoPizza” that is to be played when the user dials the phone number for anyother local pizza restaurant. When the user dials the phone number for apizza restaurant, the user hears something like the following before thecall is placed:

“Press 1 or hold on to continue with this call. Press 2 to hear about aLake Como Pizza offer.”

If the user presses “2”, the user hears the following promotion:

“Get $3 off a Lake Como Pizza order when you mention “phone offer.” Dial1 or stay online to continue with this call. Press 2 to dial Lake ComoPizza instead.”

FIGS. 4 a and 4 b illustrate an example of the text that can bedisplayed in the user interface to correspond to the above voiceprompts.

FIG. 3 illustrates an alternate embodiment of the invention. It issimilar to the method illustrated in FIG. 2, except that, if the user iseligible for a promotion, the phone asks to the user to choose betweencontinuing with the call or first hearing (and/or seeing) the promotion(i.e., the user must make a selection) (step 330). If the user elects tocontinue with the call, the phone places a call to the number originallydialed by the user (340). If the user elects to hear the promotion, thephone plays the promotion to the user (step 350). The promotion mayinclude the opportunity to place a call to an alternate number insteadof the number dialed by the user. In such case, after the user hears thepromotion, a call could be placed either to alternate number (step 370)or to the original number dialed by the user (step 360). Steps 310, 320,and 325 are the same as steps 210, 220, and 225 described with respectto FIG. 2.

As an example of the method described with respect to FIG. 4, assumeonce again that there is a promotion associated with a restaurant called“Lake Como Pizza” that is to be played when a user dials a phone numberfor any other local pizza restaurant. When the user dials the phonenumber for a pizza restaurant, the user hears something like thefollowing before an outbound call is initiated:

“Press or say 1 to continue with this call. Press or say 2 to hear moreabout a Lake Como Pizza offer.”

In this example, the user must make a choice before further action takesplace. If the user presses or says “1,” the phone initiates an outboundcall to the number dialed by the user. If the user says or presses “2,”the Lake Como Pizza promotion is played to the user (such as the examplepromotion set forth above).

FIG. 5 illustrates the following: example ways in which a promotion canbe communicated (510); content options for promotions (520); examplefactors that can be used to determine whether a user is eligible for apromotion (530); and, if the user is eligible for a promotion, examplefactors that can be used to determine which promotion to play to a user(540). FIG. 5 illustrates just some of the possibilities associated withproviding promotions (i.e., these are just examples), and the inventionis in no way limited to the options illustrated in and discussed withrespect to FIG. 5.

With respect to ways in which promotions can be communicated (510), thepromotion can be communicated in audio and/or visual form, as discussedabove. With respect to content of promotions (520), the content of thepromotion may relate to a business associated the number dialed by theuser, or to a business that is complementary to or competing with suchbusiness. The promotion may include an offer to connect a user to acompeting or complementary business instead of the number dialed by theuser. The promotion may include information about a product offer or asale associated with a business. It may also include a coupon, or areward for acting upon a product offer (e.g., free game or otherapplication, free ringtone, etc.). The promotion may also include theability to save the promotion information (or coupon in the promotion)for a later time.

One or more factors can be used to determine which promotion to play tothe user (540). For example, selection of the promotion may be based onthe number dialed by the user, user profile information (in the case ofwireless phone users, this can be user profile information collected bya wireless communication carrier), previous promotions played to a user,and/or previous phone numbers dialed by a user. Also, promotion slots,may be sold or auctioned off to advertisers, and, in such cases, thepromotion played to the user may be the promotion desired by theadvertiser that paid for such promotion slot.

With respect to factors that can be user to determine whether to play apromotion to a user (530) (i.e., whether a user is eligible for apromotion), such determination can be based on one or more factors. Onefactor can be whether or not the phone number dialed by the user isassociated with a promotion. Other factors can include user profileinformation, previous promotions played to user, previous phone numbersdialed by the user, and the location of the user.

The voice or data files with voice prompts andtext/graphics/videos/files for promotions may be stored locally on thephone or remotely on a server with which the phone communicates. In thepreferred embodiment, when the user dials a phone number, software onthe phone connects to a remote server to check whether or not the useris eligible for a promotion. If so, the promotion is downloaded to thephone from the server, and the phone then plays or offers to play thepromotion to the user. In an alternate embodiment, promotions for selectphone numbers are periodically downloaded (i.e., “pushed”) to the phone.

In one embodiment, “listening” to a phone number involves (1) monitoringthe sequence of keystrokes entered by a user prior to a user hitting the“send,” “call,” “dial,” or other button associated with dialing a calland/or (2) monitoring phone numbers entered through voice-activateddialing (such as when a user says “voice mail” to dial the phone numberfor voice mail). A phone number is not limited to a seven or ten digitphone number for the purposes of this invention. Rather, it can be anysequence of numbers or characters that can be used to generate anoutbound call. For example, shortcut phone numbers (such as 411 or *669)can be phone numbers for the purposes of this invention.

In alternate embodiment of the methods described with respect to FIGS.1-3, such methods do not include the step of determining whether or notto provide the user with a promotion or an offer for a promotion (steps120, 220, and 320). Instead, every time the user makes a phone call, theuser is automatically provided a promotion or an offer for a promotion.

FIG. 6 illustrates an example of software on a digital phone that can beused to implement the present invention. For ease of explanation, suchsoftware can be thought of as divided into various functional modules.These modules are a keystroke event dispatcher 610, an interceptorapplication 620, a promotion application 630, a dialer application 640,and a user interface application 650. Keystroke event dispatchers, userinterface applications, and dialer applications are well known in theart.

Those skilled in the art will appreciate that a phone will includeadditional functionality not represented by the above modules. However,such functionality is well known in the art and a discussion of suchfunctionality is not relevant for an understanding of the inventiondescribed herein. Moreover, those skilled in the art will appreciatethat there may be many ways to implement the present invention, and thesoftware implementation described herein with respect to FIGS. 6-8 isjust one example of an implementation.

The keystroke event dispatcher 610 buffers keystrokes entered by thephone user and provides such keystrokes to other applicable applicationson the phone that register for keystroke events. The dialer application640 registers for keystroke events and dials phone numbers entered bythe user, unless such phone numbers are first consumed by theinterceptor application 620. The user interface application 650 enablesthe display of information in the user interface on the phone.

The interceptor application 620 and the promotion applications 630 arethe modules that perform the functions described with respect to FIGS.1-3. The interceptor application 620 registers for keystroke events (asa higher priority application than the dialer module 640) and listensfor phone numbers. The interceptor application 620 communicates with thekeystroke event dispatcher 610 via an applicable event listenerapplication programming interface (API).

The promotion application 630 is launched by the interceptor application620 in response to the interceptor application 630 determining that auser should be played or offered a promotion. The promotion application630 provides the user with the promotion or the option to obtain thepromotion.

FIG. 7 illustrates one way in which the interceptor application 620 andthe promotion application 630 can operate to implement the methoddescribed with respect to FIG. 2. In this embodiment, determiningwhether a user is eligible for a promotion comprises determining whetherthe phone number dialed by the user is associated with a promotion. Thisis just one example of an implementation and the invention is notlimited to this example. When a user hits a key on a phone, theinterceptor application 620 receives the keystroke event from thekeystroke event dispatcher 610 (step 710). The interceptor application620 then determines if the key the user entered is a command to dial aphone number (such as the “send” or “dial” button on a wireless, mobilephone) (step 715). If it is not, the interceptor application 620 updatesa buffer in which it stores keystroke events (step 725) and lets theevent propagate to other listeners of keystrokes, such as the dialerapplication 640 (step 730). If it is a command to dial a phone number,the interceptor application 620 checks the buffer (step 735) anddetermines whether the dialed phone number (i.e., the sequence in thebuffer) is associated with a promotion (step 740). Determining whether aphone number is associated with a promotion may involve checking with aremote server 660 (such as, for example, a server operated by or onbehalf of a wireless communication carrier). If the phone number is notassociated with a promotion, the interceptor application 620 clears thebuffer (step 720) and lets the keystroke event propagate to otherlisteners (step 730). If the phone number is associated with apromotion, the interceptor application 620 consumes the keystroke event(i.e., the event is not propagated to other software modules on thephone), clears the buffer, and launches the promotion application 630(step 745).

If the phone has voice-activated dialing, the interceptor application620 can also receive voice-activated dial events and launch thepromotion application 630 when a voice-activated dial commandcorresponds to a promotion.

When launched, the promotion application 630 provides the user with anoption to hear a promotion associated with the phone number dialed bythe user or to stay online and continue with the call (step 750). In oneembodiment, if the user stays online and does not make a selection aftera period of time, the promotion application 630 makes the call to thephone number originally dialed by the user (or instructs the dialerapplication to make such call) (step 755). In one embodiment, thepromotion application 630 uses an applicable phone call API to make thecall.

If the user elects to hear the promotion, the promotion application 630provides the applicable promotion to the user (760). Depending on theimplementation, the promotion application 630 may retrieve the promotionfile from local storage on the phone or from a remote server 660. Thepromotion application 630 or a remote server (if applicable) may applypre-programmed rules to determine which promotion to play to the user.The rules may weigh various factors, such as the factors 530 illustratedin FIG. 5. Applying rules to select which advertisements/promotions toplay to users is well known in the art.

After the user plays the promotion to the user, the promotionapplication 630 may dial (or instruct the dialer application to dial)the phone number originally dialed by the user. Alternately, if thepromotion included an option to dial an alternate number and this optionwas accepted by the user, the promotion application 630 will dial (orinstruct the dialer application to dial) the alternate phone number.

FIG. 8 illustrates the start up of the interceptor application 620. Whenthe operating system on the phone boots (step 810), the interceptorapplication 620 is launched as a background application (step 820). Theinterceptor application 620 then registers for all keystroke events and,if applicable, voice-activated dialing events (step 830), where theinterceptor application 620 will receive keystroke events and, ifapplicable, voice-activated dialing events before any foregroundapplications, such as the dialer application 640. In some systems, theinterceptor application 620 may need to register as a high priorityapplication.

In the preferred embodiment, the requirements for the interceptorapplication 620 include the following:

-   -   Able to receive all keystroke events and, if applicable,        voice-activated dialing events at all times    -   Able to consume keystroke events and, if applicable,        voice-activated dialing events (so that consumed events are not        passed to the dialer application 640)    -   Able to launch other applications, namely, the promotion        application 630.

In the preferred embodiment, the requirements for the promotionapplication 630 include the following:

-   -   Able to play audio prompts    -   Able to display text of promotion in user interface    -   Able to support timers (so that if the user does not select an        option after a period of time, the promotion application 630 can        place a call or have a call placed to the originally dialed        phone number)    -   Able to make phone calls or have phone calls made.

The invention is in no way limited to the above requirements. Theymerely reflect one way in which to implement the invention.

As will be understood by those familiar with the art, the invention maybe embodied in other specific forms without departing from the spirit oressential characteristics thereof. Accordingly, the above disclosure ofthe present invention is intended to be illustrative and not limiting ofthe invention.

1. A method, performed by a phone, for offering a promotion to a userthat has entered a command on the phone to place a call to a phonenumber, the method comprising: listening on the phone for a command froma user to place a call to a phone number; in response to the userentering such command, determining whether or not to offer a promotionto the user, wherein such determination is made prior to the phoneinitiating an outbound voice call to the phone number; in response todetermining to offer a promotion to the user, performing the following:providing the user with an option to receive a promotion, wherein theoption is initiated by an application local on the phone in order toprovide the option prior to the phone initiating an outbound voice call;in response to the user accepting the option, providing the user withthe promotion; and in response to the user not responding to the optionor not accepting the offer, placing a call to the phone number.
 2. Themethod of claim 1, further comprising, in response to the user acceptingthe option, placing the called to the dialed phone number in addition toproviding the user with the promotion.
 3. The method of claim 1, furthercomprising placing the call to an alternate phone number after providingthe user with the promotion.
 4. The method of claim 1, wherein providingthe promotion includes providing the user with an option to save thepromotion on the user's phone.
 5. The method of claim 1, wherein theoption to receive the promotion is provided in audio form on the phoneby playing a voice prompt.
 6. The method of claim 1, wherein the optionto receive the promotion is provided in visual form on the phone bydisplaying the option on a user interface on the phone.
 7. The method ofclaim 1, wherein the promotion is provided to the user in audio form onthe phone by playing a voice prompt.
 8. The method of claim 1, whereinthe promotion is provided to the user in visual form by displaying thepromotion on a user interface on the phone.
 9. The method of claim 1,wherein the promotion provided to the user is selected based at least inpart on user profile information, known user preferences, or userlocation.
 10. The method of claim 1, wherein the promotion provided tothe user is selected based at least in part on previous promotionsoffered to the user or previous phone numbers dialed by the user. 11.The method of claim 1, wherein determining whether or not to play apromotion comprises determining whether the phone number is associatedwith a promotion.
 12. The method of claim 11, wherein determiningwhether the phone number is associated with a promotion comprisescommunicating with a remote server to determine whether the phone numberis associated with a promotion, and, if the phone number is associatedwith a promotion, downloading the promotion from the server.
 13. Anon-transitory computer-readable medium comprising a computer program,that, when executed by a processor on a phone, enables the phone toperform the following method for offering a promotion to a user that hasentered a command on the phone to place a call to a phone number, themethod comprising: listening on the phone for a command from a user toplace a call to a phone number; in response to the user entering suchcommand, determining whether or not to offer a promotion to the user,wherein such determination is made prior to the phone initiating anoutbound voice call to the phone number; in response to determining tooffer a promotion to the user, performing the following: providing theuser with an option to receive a promotion, wherein the option isinitiated on the phone in order to provide the option prior to the phoneinitiating an outbound voice call; in response to the user accepting theoption, providing the user with the promotion; and in response to theuser not responding to the option or not accepting the offer, placing acall to the phone number.
 14. The computer-readable medium of claim 13,further comprising, in response to the user accepting the option,placing the called to the dialed phone number after providing the userwith the promotion.
 15. The computer-readable medium of claim 13,further comprising placing the call to an alternate phone number afterproviding the user with the promotion.
 16. The computer-readable mediumof claim 13, wherein providing the promotion includes providing the userwith an option to save the promotion on the user's phone.
 17. Thecomputer-readable medium of claim 13, wherein the option to receive thepromotion is provided in audio form on the phone by playing a voiceprompt.
 18. The computer-readable medium of claim 13, wherein the optionto receive the promotion is provided in visual form on the phone bydisplaying the option on a user interface on the phone.
 19. A phone foroffering a promotion to a user that has entered a command on thecomputer system to place a call to a phone number, the phone comprising:a processor; a memory coupled to the processor, wherein the memorystores instructions that, when executed by the processor, causes thephone to perform the operations of: listening on the phone for a commandfrom a user to place a call to a phone number; in response to the userentering such command, determining whether or not to offer a promotionto the user, wherein such determination is made prior to the phoneinitiating an outbound voice call to the phone number; in response todetermining to offer a promotion to the user, performing the following:providing the user with an option to receive a promotion, wherein theoption is initiated by an application local on the computer system inorder to provide the option prior to the phone initiating an outboundvoice call; in response to the user accepting the option, providing theuser with the promotion; and in response to the user not responding tothe option or not accepting the offer, placing a call to the phonenumber.
 20. The phone of claim 19, wherein in response to the useraccepting the option, the system places the called to the dialed phonenumber in addition to providing the user with the promotion.